/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package skaitiniai.metodai.main;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.logging.Level;
import java.util.logging.Logger;
import skaitiniai.metodai.perkeltiesMetodas.PerkeltiesAlgoritmasI;
import skaitiniai.metodai.perkeltiesMetodas.PerkeltiesAlgoritmasImpl;
import skaitiniai.metodai.perkeltiesMetodas.TriistrizaineMatrica;
import skaitiniai.metodai.perkeltiesMetodas.duomenuSkaitymas.PirmosUzduotiesDuomenuSkaitytuvas;
import skaitiniai.metodai.perkeltiesMetodas.exceptions.NetenkinamaGrieztaNelygybeException;
import skaitiniai.metodai.perkeltiesMetodas.exceptions.NetenkinamaNegrieztaNelygybeException;


public class PirmaUzduotis{

   public static void main (String[] args){
       BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Iveskite duomenu failo varda : ");
        String duom = null;
        try {
            duom = reader.readLine();
            PirmosUzduotiesDuomenuSkaitytuvas skaitytuvas = new PirmosUzduotiesDuomenuSkaitytuvas(duom);
            TriistrizaineMatrica matrica = skaitytuvas.skaitytiDuomenis();
            
            PerkeltiesAlgoritmasI sprendimas = new PerkeltiesAlgoritmasImpl();
           try {
               sprendimas.setMatrica(matrica);
               System.out.println("Atsakymas");
               System.out.println(Arrays.toString(sprendimas.apskaiciuotiX()));
           } catch (NetenkinamaGrieztaNelygybeException ex) {
               Logger.getLogger(PirmaUzduotis.class.getName()).log(Level.SEVERE, null, ex);
           } catch (NetenkinamaNegrieztaNelygybeException ex) {
               Logger.getLogger(PirmaUzduotis.class.getName()).log(Level.SEVERE, null, ex);
           }
            
        } catch (IOException e) {
            e.printStackTrace();
        } 
    }
    
}
